package com.linkage.lcims.base.po.broadband;

import java.io.Serializable;
import java.util.Date;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;


/** 
 *        @hibernate.class
 *         table="B_BROADBAND_USER00"
 *     
*/
@SuppressWarnings("serial")
public class BBroadbandUser implements Serializable {

    /** identifier field */
    private com.linkage.lcims.base.po.broadband.BBroadbandUserPK comp_id;

    /** nullable persistent field */
    private String password;

    /** nullable persistent field */
    private Integer passwordtype;

    /** nullable persistent field */
    private Date passwordexpdate;

    /** nullable persistent field */
    private String realm;

    /** persistent field */
    private String areano;

    /** persistent field */
    private Integer paytype;

    /** nullable persistent field */
    private String paynum;

    /** nullable persistent field */
    private Integer balance;

    /** persistent field */
    private Integer groupid;

    /** nullable persistent field */
    private Integer newgroupid;

    /** persistent field */
    private Integer bindtype;

    /** nullable persistent field */
    private String bindattr;

    /** nullable persistent field */
    private Integer authortype;

    /** nullable persistent field */
    private String authorattr;

    /** nullable persistent field */
    private String frameip;

    /** nullable persistent field */
    private Integer limitusers;

    /** persistent field */
    private Integer status;

    /** nullable persistent field */
    private Integer pausereason;

    /** persistent field */
    private Date opendate;

    /** nullable persistent field */
    private String openoperator;

    /** persistent field */
    private Date effectdate;

    /** nullable persistent field */
    private Date pausedate;

    /** persistent field */
    private Date expiredate;

    /** nullable persistent field */
    private Date closedate;

    /** nullable persistent field */
    private Date moddate;

    /** nullable persistent field */
    private String modoperator;

    /** nullable persistent field */
    private Integer downbandwidth;

    /** nullable persistent field */
    private Integer upbandwidth;

    /** nullable persistent field */
    private Date billingdate;

    /** nullable persistent field */
    private Integer freeflag;

    /** nullable persistent field */
    private Integer limitusedvalue;

    /** nullable persistent field */
    private Integer currusedvalue;

    /** nullable persistent field */
    private Date curruseddate;

    /** nullable persistent field */
    private Integer roamlevel;

    /** nullable persistent field */
    private String carrytelephone;

    /** nullable persistent field */
    private String optionalservice;

    /** nullable persistent field */
    private String bindphone;   
    
    /** full constructor */
    public BBroadbandUser(com.linkage.lcims.base.po.broadband.BBroadbandUserPK comp_id, String password, Integer passwordtype, Date passwordexpdate, String realm, String areano, Integer paytype, String paynum, Integer balance, Integer groupid, Integer newgroupid, Integer bindtype, String bindattr, Integer authortype, String authorattr, String frameip, Integer limitusers, Integer status, Integer pausereason, Date opendate, String openoperator, Date effectdate, Date pausedate, Date expiredate, Date closedate, Date moddate, String modoperator, Integer downbandwidth, Integer upbandwidth, Date billingdate, Integer freeflag, Integer limitusedvalue, Integer currusedvalue, Date curruseddate, Integer roamlevel, String carrytelephone, String optionalservice,String bindphone) {
        this.comp_id = comp_id;
        this.password = password;
        this.passwordtype = passwordtype;
        this.passwordexpdate = passwordexpdate;
        this.realm = realm;
        this.areano = areano;
        this.paytype = paytype;
        this.paynum = paynum;
        this.balance = balance;
        this.groupid = groupid;
        this.newgroupid = newgroupid;
        this.bindtype = bindtype;
        this.bindattr = bindattr;
        this.authortype = authortype;
        this.authorattr = authorattr;
        this.frameip = frameip;
        this.limitusers = limitusers;
        this.status = status;
        this.pausereason = pausereason;
        this.opendate = opendate;
        this.openoperator = openoperator;
        this.effectdate = effectdate;
        this.pausedate = pausedate;
        this.expiredate = expiredate;
        this.closedate = closedate;
        this.moddate = moddate;
        this.modoperator = modoperator;
        this.downbandwidth = downbandwidth;
        this.upbandwidth = upbandwidth;
        this.billingdate = billingdate;
        this.freeflag = freeflag;
        this.limitusedvalue = limitusedvalue;
        this.currusedvalue = currusedvalue;
        this.curruseddate = curruseddate;
        this.roamlevel = roamlevel;
        this.carrytelephone = carrytelephone;
        this.optionalservice = optionalservice;
        this.bindphone=bindphone;
    }

    /** default constructor */
    public BBroadbandUser() {
    }

    /** minimal constructor */
    public BBroadbandUser(com.linkage.lcims.base.po.broadband.BBroadbandUserPK comp_id, String areano, Integer paytype, Integer groupid, Integer bindtype, Integer status, Date opendate, Date effectdate, Date expiredate) {
        this.comp_id = comp_id;
        this.areano = areano;
        this.paytype = paytype;
        this.groupid = groupid;
        this.bindtype = bindtype;
        this.status = status;
        this.opendate = opendate;
        this.effectdate = effectdate;
        this.expiredate = expiredate;
    }

    /** 
     *            @hibernate.id
     *             generator-class="assigned"
     *         
     */
    public com.linkage.lcims.base.po.broadband.BBroadbandUserPK getComp_id() {
        return this.comp_id;
    }

    public void setComp_id(com.linkage.lcims.base.po.broadband.BBroadbandUserPK comp_id) {
        this.comp_id = comp_id;
    }

    /** 
     *            @hibernate.property
     *             column="password"
     *             length="32"
     *         
     */
    public String getPassword() {
        return this.password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    /** 
     *            @hibernate.property
     *             column="passwordtype"
     *             length="10"
     *         
     */
    public Integer getPasswordtype() {
        return this.passwordtype;
    }

    public void setPasswordtype(Integer passwordtype) {
        this.passwordtype = passwordtype;
    }

    /** 
     *            @hibernate.property
     *             column="passwordexpdate"
     *             length="23"
     *         
     */
    public Date getPasswordexpdate() {
        return this.passwordexpdate;
    }

    public void setPasswordexpdate(Date passwordexpdate) {
        this.passwordexpdate = passwordexpdate;
    }

    /** 
     *            @hibernate.property
     *             column="realm"
     *             length="40"
     *         
     */
    public String getRealm() {
        return this.realm;
    }

    public void setRealm(String realm) {
        this.realm = realm;
    }

    /** 
     *            @hibernate.property
     *             column="areano"
     *             length="20"
     *             not-null="true"
     *         
     */
    public String getAreano() {
        return this.areano;
    }

    public void setAreano(String areano) {
        this.areano = areano;
    }

    /** 
     *            @hibernate.property
     *             column="paytype"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getPaytype() {
        return this.paytype;
    }

    public void setPaytype(Integer paytype) {
        this.paytype = paytype;
    }

    /** 
     *            @hibernate.property
     *             column="paynum"
     *             length="30"
     *         
     */
    public String getPaynum() {
        return this.paynum;
    }

    public void setPaynum(String paynum) {
        this.paynum = paynum;
    }

    /** 
     *            @hibernate.property
     *             column="balance"
     *             length="10"
     *         
     */
    public Integer getBalance() {
        return this.balance;
    }

    public void setBalance(Integer balance) {
        this.balance = balance;
    }

    /** 
     *            @hibernate.property
     *             column="groupid"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getGroupid() {
        return this.groupid;
    }

    public void setGroupid(Integer groupid) {
        this.groupid = groupid;
    }

    /** 
     *            @hibernate.property
     *             column="newgroupid"
     *             length="10"
     *         
     */
    public Integer getNewgroupid() {
        return this.newgroupid;
    }

    public void setNewgroupid(Integer newgroupid) {
        this.newgroupid = newgroupid;
    }

    /** 
     *            @hibernate.property
     *             column="bindtype"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getBindtype() {
        return this.bindtype;
    }

    public void setBindtype(Integer bindtype) {
        this.bindtype = bindtype;
    }

    /** 
     *            @hibernate.property
     *             column="bindattr"
     *             length="128"
     *         
     */
    public String getBindattr() {
        return this.bindattr;
    }

    public void setBindattr(String bindattr) {
        this.bindattr = bindattr;
    }

    /** 
     *            @hibernate.property
     *             column="authortype"
     *             length="10"
     *         
     */
    public Integer getAuthortype() {
        return this.authortype;
    }

    public void setAuthortype(Integer authortype) {
        this.authortype = authortype;
    }

    /** 
     *            @hibernate.property
     *             column="authorattr"
     *             length="128"
     *         
     */
    public String getAuthorattr() {
        return this.authorattr;
    }

    public void setAuthorattr(String authorattr) {
        this.authorattr = authorattr;
    }

    /** 
     *            @hibernate.property
     *             column="frameip"
     *             length="64"
     *         
     */
    public String getFrameip() {
        return this.frameip;
    }

    public void setFrameip(String frameip) {
        this.frameip = frameip;
    }

    /** 
     *            @hibernate.property
     *             column="limitusers"
     *             length="10"
     *         
     */
    public Integer getLimitusers() {
        return this.limitusers;
    }

    public void setLimitusers(Integer limitusers) {
        this.limitusers = limitusers;
    }

    /** 
     *            @hibernate.property
     *             column="status"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getStatus() {
        return this.status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    /** 
     *            @hibernate.property
     *             column="pausereason"
     *             length="10"
     *         
     */
    public Integer getPausereason() {
        return this.pausereason;
    }

    public void setPausereason(Integer pausereason) {
        this.pausereason = pausereason;
    }

    /** 
     *            @hibernate.property
     *             column="opendate"
     *             length="23"
     *             not-null="true"
     *         
     */
    public Date getOpendate() {
        return this.opendate;
    }

    public void setOpendate(Date opendate) {
        this.opendate = opendate;
    }

    /** 
     *            @hibernate.property
     *             column="openoperator"
     *             length="15"
     *         
     */
    public String getOpenoperator() {
        return this.openoperator;
    }

    public void setOpenoperator(String openoperator) {
        this.openoperator = openoperator;
    }

    /** 
     *            @hibernate.property
     *             column="effectdate"
     *             length="23"
     *             not-null="true"
     *         
     */
    public Date getEffectdate() {
        return this.effectdate;
    }

    public void setEffectdate(Date effectdate) {
        this.effectdate = effectdate;
    }

    /** 
     *            @hibernate.property
     *             column="pausedate"
     *             length="23"
     *         
     */
    public Date getPausedate() {
        return this.pausedate;
    }

    public void setPausedate(Date pausedate) {
        this.pausedate = pausedate;
    }

    /** 
     *            @hibernate.property
     *             column="expiredate"
     *             length="23"
     *             not-null="true"
     *         
     */
    public Date getExpiredate() {
        return this.expiredate;
    }

    public void setExpiredate(Date expiredate) {
        this.expiredate = expiredate;
    }

    /** 
     *            @hibernate.property
     *             column="closedate"
     *             length="23"
     *         
     */
    public Date getClosedate() {
        return this.closedate;
    }

    public void setClosedate(Date closedate) {
        this.closedate = closedate;
    }

    /** 
     *            @hibernate.property
     *             column="moddate"
     *             length="23"
     *         
     */
    public Date getModdate() {
        return this.moddate;
    }

    public void setModdate(Date moddate) {
        this.moddate = moddate;
    }

    /** 
     *            @hibernate.property
     *             column="modoperator"
     *             length="15"
     *         
     */
    public String getModoperator() {
        return this.modoperator;
    }

    public void setModoperator(String modoperator) {
        this.modoperator = modoperator;
    }

    /** 
     *            @hibernate.property
     *             column="downbandwidth"
     *             length="10"
     *         
     */
    public Integer getDownbandwidth() {
        return this.downbandwidth;
    }

    public void setDownbandwidth(Integer downbandwidth) {
        this.downbandwidth = downbandwidth;
    }

    /** 
     *            @hibernate.property
     *             column="upbandwidth"
     *             length="10"
     *         
     */
    public Integer getUpbandwidth() {
        return this.upbandwidth;
    }

    public void setUpbandwidth(Integer upbandwidth) {
        this.upbandwidth = upbandwidth;
    }

    /** 
     *            @hibernate.property
     *             column="billingdate"
     *             length="23"
     *         
     */
    public Date getBillingdate() {
        return this.billingdate;
    }

    public void setBillingdate(Date billingdate) {
        this.billingdate = billingdate;
    }

    /** 
     *            @hibernate.property
     *             column="freeflag"
     *             length="10"
     *         
     */
    public Integer getFreeflag() {
        return this.freeflag;
    }

    public void setFreeflag(Integer freeflag) {
        this.freeflag = freeflag;
    }

    /** 
     *            @hibernate.property
     *             column="limitusedvalue"
     *             length="10"
     *         
     */
    public Integer getLimitusedvalue() {
        return this.limitusedvalue;
    }

    public void setLimitusedvalue(Integer limitusedvalue) {
        this.limitusedvalue = limitusedvalue;
    }

    /** 
     *            @hibernate.property
     *             column="currusedvalue"
     *             length="10"
     *         
     */
    public Integer getCurrusedvalue() {
        return this.currusedvalue;
    }

    public void setCurrusedvalue(Integer currusedvalue) {
        this.currusedvalue = currusedvalue;
    }

    /** 
     *            @hibernate.property
     *             column="curruseddate"
     *             length="23"
     *         
     */
    public Date getCurruseddate() {
        return this.curruseddate;
    }

    public void setCurruseddate(Date curruseddate) {
        this.curruseddate = curruseddate;
    }

    /** 
     *            @hibernate.property
     *             column="roamlevel"
     *             length="10"
     *         
     */
    public Integer getRoamlevel() {
        return this.roamlevel;
    }

    public void setRoamlevel(Integer roamlevel) {
        this.roamlevel = roamlevel;
    }

    /** 
     *            @hibernate.property
     *             column="carrytelephone"
     *             length="26"
     *         
     */
    public String getCarrytelephone() {
        return this.carrytelephone;
    }

    public void setCarrytelephone(String carrytelephone) {
        this.carrytelephone = carrytelephone;
    }

    /** 
     *            @hibernate.property
     *             column="optionalservice"
     *             length="20"
     *         
     */
    public String getOptionalservice() {
        return this.optionalservice;
    }

    public void setOptionalservice(String optionalservice) {
        this.optionalservice = optionalservice;
    }

    public String toString() {
        return new ToStringBuilder(this)
            .append("comp_id", getComp_id())
            .toString();
    }

    public boolean equals(Object other) {
        if ( (this == other ) ) return true;
        if ( !(other instanceof BBroadbandUser) ) return false;
        BBroadbandUser castOther = (BBroadbandUser) other;
        return new EqualsBuilder()
            .append(this.getComp_id(), castOther.getComp_id())
            .isEquals();
    }

    public int hashCode() {
        return new HashCodeBuilder()
            .append(getComp_id())
            .toHashCode();
    }

    /** 
     *            @hibernate.property
     *             column="bindphone"
     *             length="26"
     *         
     */
	public String getBindphone() {
		return bindphone;
	}

	public void setBindphone(String bindphone) {
		this.bindphone = bindphone;
	}

}
